Utilising parallel resources by speculation

نویسندگان

  • Andreas Unger
  • Eberhard Zehendner
  • Theo Ungerer
چکیده

This paper introduces Simultaneous Speculation Scheduling, a new compiler technique that enables speculative execution of alternative program paths. In our approach concurrently executed threads are generated that represent alternative program paths. Each thread is the result of a speculation on the outcome of one or more branches. All threads are simultaneously executed although only one of them follows the eventually correct program path. Our technique goes beyond the capabilities of usual global instruction scheduling algorithms, because we overcome most of the restrictions to speculative code motion. The architectural requirements are the ability to run two or more threads in parallel, and an enhanced instruction set to control threads. Our technique aims at multithreaded architectures, in particular simultaneous multithreaded, nanothreaded, and microthreaded processors, but can be modified for multiscalar, datascalar, and trace processors. We evaluate our approach using program kernels from the SPECint benchmark suite.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Data value speculation in superscalar processors

Data dependences are a major limitation to the amount of instruction-level parallelism (ILP) that current processors can achieve. Data value speculation is a promising emerging approach that can eliminate the ordering imposed by data dependences. The objective of this work is to establish the performance potential of data value speculation. First, we study the performance of data value speculat...

متن کامل

Data and Control Speculative Execution

Control and data flow speculation can improve processor performance through increased ILP. First it is demonstrated how aggressive speculation on both control decisions and data values can produce parallelism in a simple “sequential” problem. It is then shown through simulation that a speculative architecture can extract parallelism from more complex code examples. Finally a discussion about th...

متن کامل

Simultaneous MultiStreaming for Complexity-Effective VLIW Architectures

Very Long Instruction Word (VLIW) architectures exploit instruction level parallelism (ILP) with the help of the compiler to achieve higher instruction throughput with minimal hardware. However, control and data dependencies between operations limit the available ILP, which not only hinders the scalability of VLIW architectures, but also result in code size expansion. Although speculation and p...

متن کامل

SUDS: Primitive Mechanisms for Memory Dependence Speculation

As VLSI chip sizes and densities increase, it becomes possible to put many processing elements on a single chip and connect them together with a low latency communication network. In this paper we propose a software system, SUDS (Software Un-Do System), that leverages these resources using speculation to exploit parallelism in integer programs with many data dependences. We demonstrate that in ...

متن کامل

Analysis of the overheads incurred due to speculation in a task based programming model

In order to efficiently utilize the ever increasing processing power of multi-cores, a programmer must extract as much parallelism as possible from a given application. However with every such attempt there is an associated overhead of its implementation. A parallelization technique is beneficial only if its respective overhead is less than the performance gains realized. In this paper we analy...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999